Day 3 我們介紹認識了 比特幣 UTXO 及 以太坊 Account 的架構。那麼今天我們就實際帶大家直接透過 Blockstream Bitcoin Explorer( 比特幣的區塊瀏覽器,任何在鏈上發生的交易都可以在這一覽無遺 )上的隨機一筆比特幣交易來一窺 UTXO 的真面目:
可以發現,這筆交易動用了三個錢堆,推測可能是這三個錢堆的所有者想要發送四顆比特幣給別人,但他想動用的前兩個錢堆總額不足四顆,所以便再動用了第三個錢堆,湊足四顆發送給別人。而多出的比特幣則會變為「Unspent (未花費)」的錢堆回到所有者身上。
打開 Details 查看交易的細節後便可以發現,右下方的 #1 錢堆中有標注 Unspent 的字樣,這筆錢堆在交易後會返回到發送交易的地址中。
此外,我們可以發現 input 的三筆錢堆,總額是 6.1446498 BTC;而 output 的兩筆錢堆,總額卻只有 6.1442275 BTC。中間有 0.0004223 BTC 的差額,原因是比特幣交易需要付手續費給幫忙驗證打包上鏈的礦工,故這 0.0004223 BTC 便是這筆交易手續費的金額。
UTXO 的架構,其實是解決了 Account model 同一個地址(帳戶)無法「同時」進行兩筆交易的問題(Account model 一定會有先後順序,即 Nonce)。以太幣為了避免雙重花費(Double Spending:同一筆錢被花了兩次),會以 Nonce 來標註每一筆交易的先後次序,若同時發送多筆交易,一旦前面有一筆交易卡住,則後面的交易也都會跟著塞住。
比特幣 UTXO 的架構可以同時進行多筆交易,一個地址可以「同時」將多個錢堆發送給多個不同的地址,在同一個區塊,甚至同一筆交易中完成。可以把多個錢堆同時進行交易,算是讓交易變得更加有效率。(雖然比特幣出一個塊依然要10分鐘左右⋯⋯)
好,今天先介紹至此~!
以上,若有任何:
A. 不夠清楚的地方
B. 撰寫上改進的建議
C. 希望我能夠撰寫分享的區塊鏈技術知識題目
都非常歡迎在底下留言回覆,希望我的文章能幫助到更多曾像我一樣想學習區塊鏈技術與知識的朋友,謝謝大家。
我們明天見!